//
//  BaseViewController.swift
//  HMWeibo
//
//  Created by HuaMou.Chen on 15/11/27.
//  Copyright © 2015年 HuaMou.Chen. All rights reserved.
//

import UIKit
/// 基类的表格式图
class BaseViewController: UITableViewController {
    
    /// 访客视图
    // 如果用户登录了，就不会执行 setupVisitorView 这个方法，就不会加载访客视图；如果使用懒加载，还是会被加载出来，因为每个控制器的viewDidLoad方法调用了visitorView，所以这里不能使用懒加载，写成可选的比较好
    var visitorView: VisitorView?
    
    /// 用户登录的标记
    var userLogon = false
    
    override func loadView() {
        // 使用系统默认的视图，tableviewcontroller的默认视图是tableview
        userLogon ? super.loadView() : setupVisitorView()
        
     }
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        //print("访客视图-----\(visitorView)")
    }
    
/// 设置访客视图
    private func setupVisitorView() {
        visitorView = VisitorView()
        visitorView?.loginButton.addTarget(self, action: "visitorViewDidLogon", forControlEvents: .TouchUpInside)
        visitorView?.registerButton.addTarget(self, action: "visitorViewDidRegister", forControlEvents: .TouchUpInside)
        // 自定义的视图
        view = visitorView
        
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: "visitorViewDidRegister")
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: .Plain, target: self, action: "visitorViewDidLogon")
    }
    
    // MARK: - 监听方法
    @objc private func visitorViewDidLogon() {
        let vc = OAuthViewController()
        let nav = UINavigationController(rootViewController: vc)
        presentViewController(nav, animated: true, completion: nil)
    }
    
    @objc private func visitorViewDidRegister() {
        print("注册")
    }
    
}
